package cn.edu.scau.cmi.ema.dao;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.Standard;
import org.springframework.dao.DataAccessException;

import java.util.Calendar;
import java.util.Set;

public interface StandardDAO extends JpaDao<Standard> {

	public Standard findStandardById(Integer id) throws DataAccessException;

	public Standard findStandardById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Standard> findStandardByName(String name) throws DataAccessException;

	public Set<Standard> findStandardByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Standard> findStandardByNameContaining(String name_1) throws DataAccessException;

	public Set<Standard> findStandardByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardByNumber(String number) throws DataAccessException;

	public Set<Standard> findStandardByNumber(String number, int startResult, int maxRows) throws DataAccessException;

	public Set<Standard> findStandardByNumberContaining(String number_1) throws DataAccessException;

	public Set<Standard> findStandardByNumberContaining(String number_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardByEffectivedate(Calendar effectivedate) throws DataAccessException;

	public Set<Standard> findStandardByEffectivedate(Calendar effectivedate, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardByExpirydate(Calendar expirydate) throws DataAccessException;

	public Set<Standard> findStandardByExpirydate(Calendar expirydate, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardByDownurl(String downurl) throws DataAccessException;

	public Set<Standard> findStandardByDownurl(String downurl, int startResult, int maxRows) throws DataAccessException;

	public Set<Standard> findStandardByDownurlContaining(String downurl_1) throws DataAccessException;

	public Set<Standard> findStandardByDownurlContaining(String downurl_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardByDescription(String description) throws DataAccessException;

	public Set<Standard> findStandardByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Standard> findStandardByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Standard findStandardByPrimaryKey(Integer id) throws DataAccessException;

	public Standard findStandardByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Standard> findStandardsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Standard> findAllStandards() throws DataAccessException;

	public Set<Standard> findAllStandards(int startResult, int maxRows) throws DataAccessException;

	public Set<Standard> findStandardsByReplacedstandard(Integer standardId, int start, int max);

	public Set<Standard> findStandardsByStandardtype(Integer standardtypeId, int start, int max);

	public Set<Standard> findStandardsByStandardlevel(Integer standardlevelId, int start, int max);

	public Set<Standard> findStandardByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Standard> findStandardsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Standard findStandardByPhysicalPrimaryKey(String number) throws DataAccessException;

	public Standard findStandardByPhysicalPrimaryKey(String number, int startResult, int maxRows)
			throws DataAccessException;
}
